package io.github.eric.urpc.core.config;

import io.github.eric.urpc.core.conn.ConnectionListener;
import io.github.eric.urpc.core.rpc.RpcController;
import io.netty.handler.logging.LogLevel;
import org.slf4j.Logger;

import java.util.List;

public interface Config {
    String getApplicationName();

    String getApplicationId();

    int getSocketBacklog();

    int getSocketRecvBufSize();

    int getSocketSendBufSize();

    int getFrameMaxLength();

    List<RpcController> getRpcControllers();

    LogLevel getNettyLoggingLevel();

    Logger getLogger();

    int getReadTimeout();

    boolean isOrdered();

    List<ConnectionListener> getConnectionListeners();
}
